﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using liclSolcred.Views;
using com.creditos.be.liclSolcred;
using com.creditos.util.liclUtil;
using System.Collections;

public partial class solcred_popups_FormsUbigeo : CreditosPaseBase, IFormsUbigeoView
{
    private FormsUbigeoPresenter oPresenter = new FormsUbigeoPresenter();
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Expires = 0;
        Response.CacheControl = "no-cache";
        Page.Header.Controls.Add(new LiteralControl(@"<base target=""_self"" />"));
        if (!IsPostBack)
        {
            CargarDepartamento();
            string direccion = Request.QueryString["dir"].ToString();
            int departamento = int.Parse(Request.QueryString["codDepartamento"].ToString());
            int provincia = int.Parse(Request.QueryString["codProvincia"].ToString());
            int distrito = int.Parse(Request.QueryString["codDistrito"].ToString());
            ddlDepartamento.SelectedIndex = departamento;
            CargarProvincia();
            ddlProvincia.SelectedIndex = provincia;
            CargarDistrito();
            ddlDistrito.SelectedIndex = distrito;

            txtDireccion.Text = direccion;
        }
    }

    protected override void DefineHandlers()
    {
        btnCancelar.Attributes.Add("onClick", "this.close();return false;");
    }

    public void CargarDepartamento() 
    {
        List<UbigeoBE> lstDepartamento = new List<UbigeoBE>();
        lstDepartamento = oPresenter.ListarUbigeo(new UbigeoBE{Accion = 1});
        UIBindable.Bind(ddlDepartamento,lstDepartamento, "CodigoDepartamento", "Descripcion",true);
        CargarProvincia();
    }

    public void CargarProvincia()
    {
        List<UbigeoBE> lstProvincia = new List<UbigeoBE>();
        UbigeoBE oUbigeo = new UbigeoBE();
        oUbigeo.Accion = 2;
        oUbigeo.CodigoDepartamento = int.Parse(Utilitario.DarFormatoEnteroCero(ddlDepartamento.SelectedValue.ToString()));
        if (oUbigeo.CodigoDepartamento > 0) { lstProvincia = oPresenter.ListarUbigeo(oUbigeo); }
        UIBindable.Bind(ddlProvincia, lstProvincia, "CodigoProvincia", "Descripcion", true);
        CargarDistrito();
    }

    public void CargarDistrito()
    {
        List<UbigeoBE> lstDistrito = new List<UbigeoBE>();
        UbigeoBE oUbigeo = new UbigeoBE();
        oUbigeo.Accion = 3;
        oUbigeo.CodigoDepartamento = int.Parse(Utilitario.DarFormatoEnteroCero(ddlDepartamento.SelectedValue.ToString()));
        oUbigeo.CodigoProvincia = int.Parse(Utilitario.DarFormatoEnteroCero(ddlProvincia.SelectedValue.ToString()));

        if (oUbigeo.CodigoDepartamento > 0 && oUbigeo.CodigoProvincia > 0 ) { lstDistrito = oPresenter.ListarUbigeo(oUbigeo); }

        UIBindable.Bind(ddlDistrito, lstDistrito, "CodigoDistrito", "Descripcion", true);

    }
    protected void ddlDepartamento_SelectedIndexChanged(object sender, EventArgs e)
    {
        CargarProvincia();
    }
    protected void ddlProvincia_SelectedIndexChanged(object sender, EventArgs e)
    {
        CargarDistrito();
    }
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        ArrayList lstValores = new ArrayList();
        hdfDireccion.Value = txtDireccion.Text.Trim();
        hdfCodigoDepartamento.Value = ddlDepartamento.SelectedValue.ToString().Trim();
        hdfCodigoProvincia.Value = ddlProvincia.SelectedValue.ToString().Trim();
        hdfCodigoDistrito.Value = ddlDistrito.SelectedValue.ToString().Trim();
        hdfUbigeo.Value = ddlDepartamento.SelectedItem.Text.Trim()+ " - " + ddlProvincia.SelectedItem.Text.Trim() + " - " +ddlDistrito.SelectedItem.Text.Trim();
        /*lstValores.Add(txtDireccion.Text.Trim());
        lstValores.Add(ddlDepartamento.SelectedValue.ToString().Trim());
        lstValores.Add(ddlProvincia.SelectedValue.ToString().Trim());
        lstValores.Add(ddlDistrito.SelectedValue.ToString().Trim());
        lstValores.Add(ddlDepartamento.SelectedItem.Text.Trim());
        lstValores.Add(ddlProvincia.SelectedItem.Text.Trim());
        lstValores.Add(ddlDistrito.SelectedItem.Text.Trim());*/
        ScriptManager.RegisterStartupScript(this, typeof(Page), "Envio", "enviarParam();", true);

    }
}
